// #include <iostream>

// class Complex //复数类
// {
// public:
//     Complex():real(0),vir(0){}
//     Complex(int real,int vir):real(real),vir(vir){}
//     void show()
//     {
//         std::cout<<real<<"+"<<vir<<"i"<<std::endl;
//     }

//     Complex operator+(const Complex& c)
//     {
//         Complex result;
//         result.real = this->real + c.real;
//         result.vir = this->vir + c.vir;
//         return result;
//     }
//     Complex operator-(const Complex& c)
//     {
//         Complex result;
//         result.real = this->real - c.real;
//         result.vir = this->vir - c.vir;
//         return result;
//     }
//     //占位参数
//     //++a 不带参数
//     Complex& operator++()
//     {
//         this->real++;
//         this->vir++;
//         return *this;
//     }
//     //a++ 带占位参数
//     Complex operator++(int)
//     {
//         Complex result = *this;
//         this->real++;
//         this->vir++;
//         return result;
//     }
//     friend std::istream& operator>>(std::istream& is,Complex &c);
//     friend std::ostream& operator<<(std::ostream& os,const Complex &c);
// private:
//     int real;//实部
//     int vir;//虚部
// };

// std::ostream& operator<<(std::ostream& os,const Complex &c)
// {
//     os<<c.real<<"+"<<c.vir<<"i"<<std::endl;
//     return os;
// }
// std::istream& operator>>(std::istream& is,Complex &c)
// {
//     is>>c.real>>c.vir;
//     return is;
// }
// int main()
// {
//     Complex c1(3,4);
//     Complex c2(1,2);
//     c1.show();
//     c2.show();

//     Complex c3 = c1++;
//     Complex c4 = ++c2;
//     // c3.show();
//     // c4.show();
//     // c1.show();
//     std::cout<<c3<<c4;
//     std::cin>>c3;
//     std::cout<<c3;
//     operator<<(std::cout,c3);
//     // Complex c3 = c1 + c2;
//     // //Complex c3 = c1.operator+(c2);
//     // c3.show();

//     // Complex c4 = c1 - c2;
//     // c4.show();
//     return 0;
// }